Pandas也提供許多方便的運算函數,就讓我們來學習Series的運算方式吧
以下程式碼皆以引入Pandas模組
import pandas as pd
python內建的運算子都可以直接在Series上使用
data = range(1,7)
s = pd.Series(data)
print(s)
#輸出:
0 1
1 2
2 3
3 4
4 5
5 6
dtype: int64
#會將所有值進行加法運算
print(s+1)
#輸出:
0 2
1 3
2 4
3 5
4 6
5 7
data = range(1,7)
s = pd.Series(data)
#最大值
print(s.max())
#輸出:6
#最小值
print(s.min())
#輸出:1
#平均值
print(s.mean())
#輸出:3.5
#標準差
print(s.std())
#輸出:1.8708286933869707
#加總
print(s.sum())
#輸出:21
data = range(1,7)
s = pd.Series(data)
#每一筆資料為前面所有資料總合
print(s.cumsum())
#輸出:
0 1
1 3
2 6
3 10
4 15
5 21
dtype: int64
#累乘
print(s.cumprod())
#輸出:
0 1
1 2
2 6
3 24
4 120
5 720
dtype: int64
Pandas提供了窗格運算的函數rolling
可以搭配前面的運算函數使用,如下範例:
data = range(1,7)
s = pd.Series(data)
print(s.rolling(2).sum())
#輸出:
0 NaN
1 3.0
2 5.0
3 7.0
4 9.0
5 11.0
dtype: float64
上例程式設定移動窗格為二做總和運算,每一比資料會往前一格加總,第一格因為前面沒資料所以會呈現NaN,rolling
可以搭配各種運算函數使用
Series能設定比較各欄位值進行比較獲取布林值,如下:
data = range(1,7)
s = pd.Series(data)
print(s > 3)
#輸出:
0 False
1 False
2 False
3 True
4 True
5 True
dtype: bool
Series的常用運算方式就學習到這吧,其餘就是多練習使用就會熟悉了.
文章內容如果有錯誤歡迎留言告知,可以幫忙糾正錯誤的觀念,感謝!